package net.realsee.domain.wcs.work;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.realsee.framework.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 单据行对象 wcs_order_detail
 *
 * @author realsee
 * @date 2023-08-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wcs_order_detail")
public class WcsOrderDetail extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 单据号
     */
    private String orderNo;

    /**
     * 单据类型
     */
    private Long orderType;

    /**
     * 任务类别
     */
    private String taskType;

    /**
     * 行号
     */
    private Long orderLineNo;

    /**
     * 子任务号
     */
    private String subOrderNo;

    /**
     * 原子任务号
     */
    private String sourceSubTaskCode;

    /**
     * 步骤组件代码
     */
    private String stepCompCode;

    /**
     * 步骤代码
     */
    private String stepCode;

    /**
     * 步骤名称
     */
    private String stepName;

    /**
     * 产线编号
     */
    private String wipLineNo;

    /**
     * 物料号
     */
    private String productNo;

    /**
     * 数量
     */
    private BigDecimal quantity;

    /**
     * 单位
     */
    private String uomCode;

    /**
     * 容器编号
     */
    private String container;

    /**
     * 来源仓库
     */
    private String fromWarehouse;

    /**
     * 来源库位
     */
    private String fromLocation;

    /**
     * 来源位置
     */
    private String fromBin;

    /**
     * 目的仓库
     */
    private String toWarehouse;

    /**
     * 目的库位
     */
    private String toLocation;

    /**
     * 目的位置
     */
    private String toBin;

    /**
     * 最终目的仓库
     */
    private String finalToWarehouse;

    /**
     * 最终目的库位
     */
    private String finalToLocation;

    /**
     * 最终目的位置
     */
    private String finalToBin;

    /**
     * 进度状态
     */
    private Long progressStatus;

    /**
     * 出货口库位
     */
    private String outputStationLocation;

    /**
     * 入货口库位
     */
    private String inputStationLocation;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 完成时间
     */
    private Date completionTime;

    /**
     * 地图
     */
    private String map;

    /**
     * 地图点位
     */
    private String mapMark;

    /**
     * 参考点
     */
    private String fixPositionRef;

    /**
     * 位置偏移
     */
    private String posOffset;

    /**
     * 车辆储位
     */
    private String vehicleLocation;

    /**
     * 信息
     */
    private String message;

    /**
     * 接口数据任务号
     */
    private String interfaceTaskId;

    /**
     * 程序代码
     */
    private String operationCode;

    /**
     * 接口调用标识
     */
    private String interfaceFlag;

    /**
     * 外部系统任务ID(和外部系统交互时，保存外部系统任务ID)
     */
    private String externalTaskId;

    /**
     * 外部系统任务状态(和外部系统交互时，保存外部系统任务状态)
     */
    private String externalTaskStatus;

    /**
     * 步骤进入时的输入参数
     */
    private String inlineInputs;

    /**
     * 步骤结束时的输出参数
     */
    private String inlineOutputs;

    /**
     * 任务起点
     */
    private String callCode;

    /**
     * 货架编号：背货架时有值
     */
    private String podCode;

    /**
     * 货架方向：180”,”0”,”90”,”-90” 分别 对 应 地 图 的 ” 左 ”,” 右 ”,”上”,”下”：任务完成时有值
     */
    private String podDir;

    /**
     * 容器编号
     */
    private String ctnrCode;

    /**
     * 容器类型
     */
    private String ctnrType;

    /**
     * 工作位，与 RCS-2000 端配置的位置名称一致。任务完成时有值，与生成任务单接口中的 wbCode 一致。
     */
    private String wbCode;

    /**
     * 当前位置编号
     * 任务开始：该位置为任务起点
     * 走出储位：该位置为任务起点
     * 任务单取消：该位置为工作位编号
     * 任务结束：该位置为任务终点
     * 取放申请：取放料箱的点
     */
    private String currentPositionCode;

    /**
     * 地码编号：任务完成时有值
     */
    private String mapDataCode;

    /**
     * RCS方法名, 可使用任务类型做为方法名
     */
    private String method;

    /**
     * AGV 编号
     */
    private String robotCode;

    /**
     * 数据行唯一标识
     */
    private String fuid;

    /**
     * 描述
     */
    private Long textId;

    /**
     * 参考数据
     */
    private Long refrenceId;

    /**
     * 特性
     */
    private Long unitId;

    /**
     * 删除人
     */
    private String deleteBy;

    /**
     * 删除时间
     */
    private Date deleteTime;

    /**
     * 行版本标识
     */
    private Long rowVersionStamp;

    /**
     * 备注
     */
    private String remark;

}
